#!#!/usr/bin/env python3
import matplotlib.pyplot as plt
import numpy as np

"""
函数说明：读取数据
parameter:
    fileName - 文件名
return:
    dataMat - 数据矩阵
    labelMat - 数据标签
"""
def loadDataSet(fileName):
    dataMat = []
    labelMat = []
    fr = open(fileName) #打开文件
    for line in fr.readlines(): #逐行读取
        lineArr = line.strip().split('\t')  #按空格分割
        dataMat.append([float(lineArr[0]),float(lineArr[1])])   #添加数据
        labelMat.append(float(lineArr[2]))  #添加标签数据
    return dataMat,labelMat

"""
函数说明：数据可视化
parameter:
    dataMat - 数据矩阵
    labelMat - 数据标签
return:
    图像显示
"""
def showDataSet(dataMat,labelMat):
    dataPlus = []   #正样本
    dataMinus = []  #负样本
    for i in range(len(labelMat)):
        if labelMat[i] > 0:
            dataPlus.append(dataMat[i])
        else:
            dataMinus.append(dataMat[i])
    dataPlusNp = np.array(dataPlus) #转换为numpy矩阵
    dataMinusNp = np.array(dataMinus)   #转换为numpy矩阵
    plt.scatter(np.transpose(dataPlusNp)[0],np.transpose(dataPlusNp)[1])    #正样本散点
    plt.scatter(np.transpose(dataMinusNp)[0],np.transpose(dataMinusNp)[1])
    plt.show()

if __name__ == '__main__':
    dataMat,labelMat = loadDataSet('testSet.txt')
    showDataSet(dataMat,labelMat)   #画图
